package com.xdwanj.service;

import com.xdwanj.pojo.Order;
import com.xdwanj.util.PageBean;

public interface OrderService {
    /**
     * 通过用户 id 查询订单列表
     *
     * @param uid           用户id
     * @param pageSize      页面大小
     * @param currentPageNo 当前页数
     * @return 订单列表
     */
    PageBean<Order> findOrderListByUid(int uid, int pageSize, int currentPageNo);

    /**
     * 通过订单id删除订单
     *
     * @param oid 订单id
     * @return 成功与否
     */
    boolean deleteOrderByOid(int oid);

    /**
     * 通过订单id结束订单
     *
     * @param id 订单id
     * @return 成功与否
     */
    boolean finish(int id, int delete);

    /**
     * 添加订单
     *
     * @param order 订单对象
     * @param uid   用户id
     * @param coid  商品id
     * @return 订单对象
     */
    boolean addOrder(Order order, int uid, int coid);

    /**
     * 通过Order对象，用户id，商品id 更新商品对象
     *
     * @param order 订单对象
     * @param uid   用户id
     * @param coid  商品id
     * @return 成功与否
     */
    boolean updateOrder(Order order, int uid, int coid);


    /**
     * 分页查询订单列表
     *
     * @param currentPageNo 当前页码
     * @param PageSize      页面大小
     * @return 分页对象
     */
    PageBean<Order> findOrderList(int currentPageNo, int PageSize);

    /**
     * 通过 订单id 查询订单对象
     *
     * @return order
     * @param oid
     */
    Order findOrderById(int oid);
}
